﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ServiceModel;

    [ServiceContract(Namespace="http://www.onvif.org/ver10/search/wsdl", ConfigurationName="SearchPort"), GeneratedCode("System.ServiceModel", "3.0.0.0")]
    public interface SearchPort
    {
        [return: MessageParameter(Name="Endpoint")]
        [OperationContract(Action="http://www.onvif.org/ver10/search/wsdl/EndSearch", ReplyAction="*"), ServiceKnownType(typeof(FilterType)), XmlSerializerFormat]
        System.DateTime EndSearch(string SearchToken);
        [ServiceKnownType(typeof(FilterType)), OperationContract(Action="http://www.onvif.org/ver10/search/wsdl/FindEvents", ReplyAction="*"), XmlSerializerFormat]
        FindEventsResponse1 FindEvents(FindEventsRequest request);
        [ServiceKnownType(typeof(FilterType)), XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver10/search/wsdl/FindMetadata", ReplyAction="*")]
        FindMetadataResponse1 FindMetadata(FindMetadataRequest request);
        [ServiceKnownType(typeof(FilterType)), XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver10/search/wsdl/FindPTZPosition", ReplyAction="*")]
        FindPTZPositionResponse1 FindPTZPosition(FindPTZPositionRequest request);
        [OperationContract(Action="http://www.onvif.org/ver10/search/wsdl/FindRecordings", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(FilterType))]
        FindRecordingsResponse1 FindRecordings(FindRecordingsRequest request);
        [XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver10/search/wsdl/GetEventSearchResults", ReplyAction="*"), ServiceKnownType(typeof(FilterType))]
        GetEventSearchResultsResponse1 GetEventSearchResults(GetEventSearchResultsRequest request);
        [return: MessageParameter(Name="MediaAttributes")]
        [XmlSerializerFormat, ServiceKnownType(typeof(FilterType)), OperationContract(Action="http://www.onvif.org/ver10/search/wsdl/GetMediaAttributes", ReplyAction="*")]
        GetMediaAttributesResponse GetMediaAttributes(GetMediaAttributesRequest request);
        [XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver10/search/wsdl/GetMetadataSearchResults", ReplyAction="*"), ServiceKnownType(typeof(FilterType))]
        GetMetadataSearchResultsResponse1 GetMetadataSearchResults(GetMetadataSearchResultsRequest request);
        [OperationContract(Action="http://www.onvif.org/ver10/search/wsdl/GetPTZPositionSearchResults", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(FilterType))]
        GetPTZPositionSearchResultsResponse1 GetPTZPositionSearchResults(GetPTZPositionSearchResultsRequest request);
        [return: MessageParameter(Name="RecordingInformation")]
        [OperationContract(Action="http://www.onvif.org/ver10/search/wsdl/GetRecordingInformation", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(FilterType))]
        RecordingInformation GetRecordingInformation(string RecordingToken);
        [XmlSerializerFormat, ServiceKnownType(typeof(FilterType)), OperationContract(Action="http://www.onvif.org/ver10/search/wsdl/GetRecordingSearchResults", ReplyAction="*")]
        GetRecordingSearchResultsResponse1 GetRecordingSearchResults(GetRecordingSearchResultsRequest request);
        [return: MessageParameter(Name="Summary")]
        [XmlSerializerFormat, ServiceKnownType(typeof(FilterType)), OperationContract(Action="http://www.onvif.org/ver10/search/wsdl/GetRecordingSummary", ReplyAction="*")]
        RecordingSummary GetRecordingSummary();
        [return: MessageParameter(Name="State")]
        [ServiceKnownType(typeof(FilterType)), XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver10/search/wsdl/GetSearchState", ReplyAction="*")]
        SearchState GetSearchState(string SearchToken);
        [return: MessageParameter(Name="Capabilities")]
        [OperationContract(Action="http://www.onvif.org/ver10/search/wsdl/GetServiceCapabilities", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(FilterType))]
        SearchServiceCapabilities GetServiceCapabilities();
    }
}

